<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>嵌套对象的引用共享</title>
</head>
<body>

</body>
<script>
    const original = {
        a: 1,
        b: { c: 2 }
    };

    const shallowCopy = Object.assign({}, original);

    console.log(shallowCopy); // { a: 1, b: { c: 2 } }

    original.b.c = 3;
    console.log(shallowCopy); // { a: 1, b: { c: 3 } }

    // 在这个例子中，original 对象中的 b 属性是一个对象引用，Object.assign({}, original) 
    // 只复制了 original 的第一层属性，所以 shallowCopy 中的 b 仍然是原始对象 original 中 b 的引用。
    // 当修改 original.b.c 的值时，shallowCopy 中的 b 也会反映出这个变化，因为它们共享同一个引用。
</script>
</html>